I. Field of the Disclosure
The technology of the disclosure relates generally to debugging and testing communication buses.
II. Background
Computing devices have become increasingly common in modern society. As computing devices have evolved, users have come to expect that the computing devices will be increasingly fast. In most instances, later computing devices have, in fact, been faster. Almost every computing device relies on memory to store operating instructions, software, data, and the like. Thus, as the computing devices have exhibited increased speed, access to memory elements has also increased in volume and speed.
An exemplary memory element is a dynamic random access memory (DRAM) that may employ a double data rate (DDR) and may be accessed by a communication bus that employs clock speeds over one gigahertz. Additionally, different protocols contemplate that the frequency on the communication bus may change. For example, the standard for DRAM published by the Joint Electron Device Engineering Council (JEDEC) contemplates many distinct frequencies that may be used for various purposes. Further, changes in frequency may be coupled with changes in termination impedances. Still further, signal levels may change as different terminations are used. Such changes may be made to achieve desired performance or power optimization.
While the use of simulation tools has allowed designers to simulate circuit performance with increasing accuracy, almost every computing device still undergoes testing, debugging, and protocol compliance checking. Such testing and debugging relies on a testing device that is coupled to the computing device under test and samples signals. Such testing devices may generate erroneous data if the testing device is not reconfigured in response to changes in the frequency of the signal being sampled. When the frequency of the signal being sampled changes without notice to the testing device, such erroneous data is generated. Accordingly, improved testing techniques are required to allow for testing in such dynamic environments.